[Chapter 34] 34.7 Pitfalls
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T21:09:15Z

#

| Chapter 34 Options |

## 34.7 Pitfalls

- If the option letter is one that is unknown to sendmail, it silently accepts the line but doesn't use it. For example, entering `O1` when you really mean `OI` causes the unknown option `1` to be defined and the intended option `I` to remain undefined. Because no error message is printed, this kind of mistake is difficult to find. Note that, when you are in doubt, a debugging level of `-d37.1` can be used to produce warnings (see Section 37.5.126, -d37.1).

- Under versions of sendmail prior to V8.7, accidentally placing a space character between the `O` and the option letter wrongly causes sendmail to silently accept the space character as the option name. For example, the space in "`O A/etc/aliases`" gives to the option "space" the argument `A/etc/aliases`. Beginning with V8.7, a space option causes a multicharacter option name to be recognized (see Section 34.2.2, "V8.7 Configuration File Declarations").

- Options are parsed from the top of the sendmail.cf file down. Later declarations of an option supersede earlier declarations. For example, if you try to change the location of the queue directory by placing the line `OQ/mail/spool/mqueue` at the top of your sendmail.cf file, that change is masked (ignored) by the existence of `OQ/var/spool/mqueue` later in the file.

- Command-line options always supersede the sendmail.cf file options, because the command line is parsed after the sendmail.cf file is parsed. One way to change the location of the aliases file (perhaps for testing) is with a command-line argument such as `-oA/tmp/aliases`. For security reasons, however, not all command-line options are available to the ordinary user. (See Table 34.2 in Section 34.1.4, "Options that Are Safe" for a list of those that are available.)

34.6 Interrelating Options |  | 34.8 Alphabetized Reference